﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections.Generic;
using System.Data.SqlClient;
using WebApplication1.Classes;

namespace WebApplication1.Conexao
{
    public class ProdutoBanco
   {
        private ConexaoBD conexaoBanco;
        public ProdutoBanco()
        {
            conexaoBanco = new ConexaoBD();
        }

        public List<Produto> ListarProduto()
        {
            String consulta = "select * from Products";
            SqlCommand command = new SqlCommand(consulta, conexaoBanco.RealizarConexaoBD());
            SqlDataReader reader = command.ExecuteReader();
            List<Produto> produtos = new List<Produto>();

            while (reader.Read())
            {
                Produto prod = new Produto();
                prod.IdProduto = reader.GetInt32(0);
                prod.NomeProduto = reader.GetString(1);
                prod.PrecoUnitario = float.Parse(Convert.ToString(reader["UnitPrice"]));
                produtos.Add(prod);
            }
            return produtos;
        }

        public bool Adicionar(Produto prod)
        {
            string adicionar = "INSERT INTO Products (ProductName, UnitPrice, categoryID)" + "Values (@n, @p, @c)";
            SqlCommand command = new SqlCommand(adicionar, conexaoBanco.RealizarConexaoBD());
            command.Parameters.Add(new SqlParameter("n", prod.NomeProduto));
            command.Parameters.Add(new SqlParameter("p", prod.PrecoUnitario));
            command.Parameters.Add(new SqlParameter("c", prod.Categoria.IdCategoria));

            return command.ExecuteNonQuery() > 0;



        }
   

        public int ContarProdutos()
        {
            return ListarProduto().Count;
        }




    }
}
